package com.itheima.d4_jdk8_time;

import java.util.Calendar;
import java.util.Date;

/**
 *  目标：搞清楚为什么要用JDK 8开始新增的时间类。
 *  为什么要学JDK 8新增的时间？
 *  1、设计更合理，功能丰富，使用更方便。
 *  2、都是不可变对象，修改后会返回新的时间对象，不会丢失最开始的时间。
 *  3、线程安全。
 *  4、能精确到毫秒、纳秒。
 */
public class Test {
    public static void main(String[] args) {
        // 传统的时间类（Date、SimpleDateFormat、Calendar）存在如下问题：

        // 问题1、设计不合理，使用不方便，很多都被淘汰了。
        Date d = new Date();
        //System.out.println(d.getYear() + 1900);   //被淘汰的方法

        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);  //需要额外记住常量字段，设计不合理
        System.out.println(year);

        // 问题2、都是可变对象，修改后会丢失最开始的时间信息。

        // 问题3、线程不安全。

        // 问题4、不能精确到纳秒，只能精确到毫秒。
        // 1秒 = 1000毫秒
        // 1毫秒 = 1000微妙
        // 1微妙 = 1000纳秒
    }
}
